Operations:

Format

Syntax:

Operation:

Operands:

Architecture revision

Opcode

1

punpckub.h Rd, Rs:<part>

If ( Rs-part == top )  then
      Rd[31:16] = ZE(Rs[31:24], 16); Rd[15:0] = ZE(Rs[23:16], 16);
else
      Rd[31:16] = ZE(Rs[15:8], 16); Rd[15:0] = ZE(Rs[7:0], 16);
{d, s} ∈ {0, 1, …, 15}
part ∈ {t, b}

Rev1+

111

Rs

000000000

00100100100

k

Rd

3

4

9

11

1

4

2

punpcksb.h Rd, Rs:<part>

If ( Rs-part == top )  then
     Rd[31:16] = SE(Rs[31:24], 16); Rd[15:0] = SE(Rs[23:16], 16);
else
     Rd[31:16] = SE(Rs[15:8], 16); Rd[15:0] = SE(Rs[7:0], 16);
{d, s} ∈ {0, 1, …, 15}
part ∈ {t, b}

Rev1+

111

Rs

000000000

00100100101

k

Rd

3

4

9

11

1

4

Description

Unpack two unsigned bytes (punpckub.h) or two signed bytes (punpcksb.h) from the source reg- ister to two packed halfwords in the destination register.

Status Flags:

Q:

Not affected.

V:

Not affected.

N:

Not affected.

Z:

Not affected.

C:

Not affected.